package com.ybkj.daijia.server.service;


import com.ybkj.daijia.common.Result;
import com.ybkj.daijia.page.Page;
import com.ybkj.daijia.server.sales.CouponRule;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author Shine
 */
public interface CouponRuleService {


    /**
     * 列出有效优惠劵规则
     *
     * @return
     */
    public List<CouponRule> listValid();

    /**
     * 插入优惠券规则
     *
     * @param title
     * @param code
     * @param start
     * @param end
     * @param companyId
     * @param type
     * @param discount
     * @param money
     * @param number
     * @param eachLimit
     * @return
     */
    public Result<CouponRule> insert(String title, String code, Date start, Date end,
        Long companyId,
        Integer type, String couponType, Long couponTypeId, Double discount, BigDecimal money,
        Integer number, Integer eachLimit);

    /**
     * 根据公司companyId查询出所有优惠券规则
     *
     * @param companyId
     * @return
     */
    public Page<CouponRule> queryCouponRule();

    /**
     * 根据公司id查询出所有优惠券规则
     *
     * @param companyId
     * @return
     */
    public CouponRule findOne(Long id);

    /**
     * 删除优惠券规则
     *
     * @param id
     * @return
     */
    public Integer deleteCouponRule(Long id);

    /**
     * 失效优惠券规则
     *
     * @param id
     * @return
     */
    public Integer updateCouponRuleLapsed(Long id);

    /**
     * 查询所有 导入旧数据用
     *
     * @return
     */
    public List<com.ybkj.daijia.server.model.CouponRule> listAllOld();


}
